package user

// Event 是所有用户事件的通用接口
type Event interface {
	EventType() string
}

// UserCreatedEvent 表示用户创建事件
type UserCreatedEvent struct {
	User *User
}

// EventType 返回事件类型
func (e *UserCreatedEvent) EventType() string {
	return "UserCreated"
}

// UserUpdatedEvent 表示用户更新事件
type UserUpdatedEvent struct {
	User *User
}

// EventType 返回事件类型
func (e *UserUpdatedEvent) EventType() string {
	return "UserUpdated"
}

// UserDeletedEvent 表示用户删除事件
type UserDeletedEvent struct {
	UserID string
}

// EventType 返回事件类型
func (e *UserDeletedEvent) EventType() string {
	return "UserDeleted"
}
